#pragma once
#include "stdafx.h"

class DX10GraphicsSystem;
typedef DX10GraphicsSystem* PDX10GraphicsSystem;

class DX10GraphicsSystem :
	public ISystem
{
public:
	DX10GraphicsSystem(void);

	DX10GraphicsSystem( SettingsMap&, HWND );
	
	virtual PSystemScene CreateScene( SettingsMap& );
	// DirectX 10 renderer initialization
	virtual Error Initialize();

	virtual System::Type GetType();

	virtual wchar_t* GetName();

	virtual Error DestroyScene( PSystemScene );

	~DX10GraphicsSystem(void);

private:
	System::Type            _systemType;
	HWND                    _hwnd;
	BOOL                    _isWindowed;
	u32                     _refreshRate;
	u32                     _width;
	u32                     _height;
	IDXGISwapChain         *_pSwapChain;
	ID3D10Device           *_pd3dDevice;
	ID3D10RenderTargetView *_pRenderTargetView;
	wchar_t*                _systemName;

	
};

